<?php

define('ROOT_PATH', realpath(__DIR__ . '/../')); // 系统根目录
define('CORE_PATH', ROOT_PATH . '/Core'); // 框架基础类库目录
define('LIBS_PATH', ROOT_PATH . '/Libs'); // 用户类库目录
define('APP_PATH', ROOT_PATH . '/App'); // 应用模块目录
define('DATA_PATH', ROOT_PATH . '/Data'); // 数据存储目录
define('PUBLIC_PATH', ROOT_PATH . '/Public'); // 网站访问根目录
define('UPLOAD_PATH', ROOT_PATH . '/Public/uploads/'); // 上传文件存储目录
define('UPLOAD_URL', '/uploads/'); // 上传文件访问网址

require CORE_PATH . '/Application.php'; // 引入框架 
$app = new Application();

// 只引入系统框架，不执行控制器（会初始化自动加载，这样就可以在后台任务中使用所有函数和类库）
$app->run(false);

/*
 * 创建任务，名称为 sample
 * 任务运行用户为 www （一般就是php-fpm的运行用户，这里假设为 www）
 * 任务运行用户组为 www （一般就是php-fpm的运行用户组，这里假设为 www）
 * 任务相关文件（pid、日志等）保存路径为框架内的 /Data/Daemon 目录
 */
$worker = new Daemon('sample', 'www', 'www', DATA_PATH . '/Daemon');

/*
 * 设置任务
 * $interval   任务重复执行间隔，单位秒
 * $callable   包含任务内容的函数
 */
$worker->setTask(5, function () {
    wlog(time());
});

$worker->run();

